-
-
Notifications
You must be signed in to change notification settings - Fork 671
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Monero hackathon results #2219
Monero hackathon results #2219
Conversation
a91830f
to
ac0e1a2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice job with the typing and with the extmod. I scanned the changes and haven't spotted any issue.
ci/shell.nix
Outdated
@@ -20,7 +20,7 @@ let | |||
}) { }; | |||
moneroTests = nixpkgs.fetchurl { | |||
url = "https://github.com/ph4r05/monero/releases/download/v0.17.3.0-dev-tests/trezor_tests"; | |||
sha256 = "sha256-tTQTe/Yk6oURq7GDOEotJ7Y2UpCgyuU5odjEHNTMrmE="; | |||
sha256 = "b534137bf624ea8511abb183384a2d27b6365290a0cae539a1d8c41cd4ccae61"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is fine
$ nix hash to-sri --type sha256 b534137bf624ea8511abb183384a2d27b6365290a0cae539a1d8c41cd4ccae61
sha256-tTQTe/Yk6oURq7GDOEotJ7Y2UpCgyuU5odjEHNTMrmE=
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But we can still keep the switch to hex notation as part of this PR. Honestly, I hate the base64-notation for files and I guess hex is easier for ph4r05 to provide.
|
||
# @classmethod | ||
# def f_specs(cls) -> XmrFspec: | ||
# return () |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wanna delete this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done in rebase
Currently, the |
Fixed in a0ac673 (on Current results say:
It really looks like these three functions from |
Did you pls check also usage in tests? I recall mul8 might be used there |
Right, that is really used in tests - I will need to modify the script to also look there. Those two others look safe to delete, I will do it in my own branch and run CI on it |
If I understand correctly, this is dead code in Trezor. In that case I am for removing it, because we won't be maintaining it. So if somebody happens to be using this function, they should fork the code and take over the maintenance. |
CI is green on |
For completeness, I got notified that a new hardfork is being prepared, part of which is new Bulletproof+ protocol. I am currently studying changes required to support this protocol on Trezor. Fallback would be to generate it on the client-side completely, but we will need new to release a new Trezor firmware anyway to support transaction signatures on a new HF (I need to check whether it will be mandatory to use BP+ on new HF or whether we can still use old versions). Other related info: |
BP+ will be mandatory after the hard-fork for all transactions, just to clarify and save you some searching :) |
Note: I've implemented BP+ verifier and prover in my new branch. I also cleaned up some existing BP code. Should we add changes to this PR @matejcik ? |
Done, there are four new fixups - I did not want to force-push, so they will need to be squashed |
13f60c6
to
437bef8
Compare
* remove support for HF12 and below * remove MLSAG support * clean up monero cryptography naming * get rid of "optional first argument" pattern, in favor of mandatory argument that is allowed to be None (and fix several bugs related to this feature) Co-authored-by: grdddj <[email protected]> Co-authored-by: Martin Milata <[email protected]> Co-authored-by: matejcik <[email protected]>
__slots__ are unsupported in micropython [no changelog]
[no changelog] Co-authored-by: Martin Milata <[email protected]>
[no changelog]
- implement BulletProof plus verifier and prover - use bulletproof exception to signalize proof generation failed and should be tried again. More robust, fixes bug that was not triggered yet (return tuple did not work properly in all situations) - precomputed 2**i vector is removed as it can be easily computed - BP code cleanup, minor optimizations, comments
- old BP GI, HI constants are shortened to reduce firmware size
708fe78
to
f8df5ea
Compare
hi @matejcik , there was a change in the Monero (monero-project/monero#8277) we might need to address by a new PR. Is there pls any codefreeze date for a new firmware release so all XMR-related PRs are merged by the next release? Thanks! |
no timeframe currently. |
This is a significant cleanup of Monero code and a good step on the way to #642.
(and fix several bugs related to this feature)
One protobuf-level change is worth noting: the integer field
network_type
was replaced by an enum. This does not change the on-the-wire format.@andrewkozlik or @onvej-sl please leave us a note whether it's ok to remove
range_proof
from the crypto library like this.@onvej-sl you reviewed the Monero code previously so you might want to take a look; however, there are basically no functional changes here except for the removal of some steps, and the automated tests against Monero blob pass.